固定链接和自定义PHP应用程序

时间:2016-07-08 作者:timw07

我在根目录中安装了Wordpress,并使用permalinks正确配置了它。

除了Wordpress博客之外,我还有一个功能完备的定制开发的php应用程序,有几个页面。我不想显示。任何自定义页面的php扩展,但现在所有自定义php页面都出现404个错误。

http://url/blog-title-here (word press页-works)

http://url/register (自定义php页面-结果为404)

这是我的。htaccess看起来像:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase / 
RewriteRule ^index\\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] 
</IfModule>
下面是我在httpd中的内容。形态

<Directory />
Options FollowSymLinks
AllowOverride All
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.php [L]
</Directory>

1 个回复
最合适的回答,由SO网友:P-S 整理而成

(编辑)在#Begin Wordpress之外使用自定义规则(归功于Tim Malone)

您可以检查文件是否存在于根目录中,并在Wordpress规则生效之前加载它:

# check for a file, i.e register.php
# load it if found and stop processing the rest of the rules with the [L] flag
<IfModule mod_rewrite.c> 
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteCond %{REQUEST_URI} !/$1.php
RewriteRule ^(.*)  /$1.php [L]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c> 
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] 
</IfModule>
# END WordPress
http://url/register 然后将打开寄存器。根目录中的php文件。

如果找不到该文件,将处理Wordpress规则。