Php 与规则具有相同文件名的永久链接重写规则
我使用的是Mac OSX Lion和本机apache,php5安装重写引擎仍在运行存在问题,该问题的显示比解释更好,因此我有以下两条规则,一条有效,另一条无效:Php 与规则具有相同文件名的永久链接重写规则,php,macos,apache,mod-rewrite,permalinks,Php,Macos,Apache,Mod Rewrite,Permalinks,我使用的是Mac OSX Lion和本机apache,php5安装重写引擎仍在运行存在问题,该问题的显示比解释更好,因此我有以下两条规则,一条有效,另一条无效: RewriteRule ^imovel/([a-z_A-Z0-9_-]+)/([a-z_A-Z0-9_-]+)/([a-z_A-Z0-9_-]+)/$ /imovel.php?imovel=$1 这个规则不起作用,它会进入文件imovel.php,但它不会传递变量,因此如果我将这个^imovel/更改为其他类似^blerg/的内容,效
RewriteRule ^imovel/([a-z_A-Z0-9_-]+)/([a-z_A-Z0-9_-]+)/([a-z_A-Z0-9_-]+)/$ /imovel.php?imovel=$1
这个规则不起作用,它会进入文件imovel.php,但它不会传递变量,因此如果我将这个^imovel/更改为其他类似^blerg/的内容,效果会很好,如下所示
RewriteRule ^blerg/([a-z_A-Z0-9_-]+)/([a-z_A-Z0-9_-]+)/([a-z_A-Z0-9_-]+)/$ /imovel.php?imovel=$1
这个规则很好用,但这个问题只在我使用的mac电脑上出现。在Windows7上使用同样的规则也可以。是否需要在apache中进行任何配置才能更改此设置?来自:
你有吗
安装?如果是这样的话,那就接受你的新要求并努力工作
找出你真正想发送的文件。确保你没有
选项多视图集。因此,在.htaccess看跌期权中
-多视图
发件人:
你有吗
安装?如果是这样的话,那就接受你的新要求并努力工作
找出你真正想发送的文件。确保你没有
选项多视图集。因此,在.htaccess看跌期权中
-多视图
您的站点必须启用多视图。如果是这样,/imovel.php将通过键入/imovel来加载,因此,它正在加载/imovel.php,而不是您的重写代码。但删除“多视图”将消除此问题
为了解决这个问题,我必须在使用终端的文件下的httpd.conf、vhost.conf或user.conf文件中添加几行代码
sudo nano /etc/apache2/httpd.conf
sudo nano /etc/apache2/users/user.conf
sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
我不知道在lion中哪里可以找到这些文件,但在MacOSX maverick中,它在/etc/apache2/中,但它现在和将来都在apache2文件夹中,在这个文件中,上面哪个文件有你的站点目录,我必须从选项中删除多视图代码/Users/User/Sites是我自己的文件夹,所以忽略它并查找您自己的站点文件夹
<Directory "/Users/User/Sites">
Options Indexes FollowSymLinks SymLinksifOwnerMatch MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
现在看起来是这样的
<Directory "/Users/User/Sites">
Options Indexes FollowSymLinks SymLinksifOwnerMatch
AllowOverride All
Order allow,deny
Allow from all
</Directory>
一旦我这样做了,/index.php页面就不能再通过键入/index来加载了。因此,我可以使用最初在.htaccess文件中使用的代码。一切都在天堂里解决了
如果有帮助,请告诉我。您的站点必须启用多视图。如果是这样,/imovel.php将通过键入/imovel来加载,因此,它正在加载/imovel.php,而不是您的重写代码。但删除“多视图”将消除此问题
为了解决这个问题,我必须在使用终端的文件下的httpd.conf、vhost.conf或user.conf文件中添加几行代码
sudo nano /etc/apache2/httpd.conf
sudo nano /etc/apache2/users/user.conf
sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
我不知道在lion中哪里可以找到这些文件,但在MacOSX maverick中,它在/etc/apache2/中,但它现在和将来都在apache2文件夹中,在这个文件中,上面哪个文件有你的站点目录,我必须从选项中删除多视图代码/Users/User/Sites是我自己的文件夹,所以忽略它并查找您自己的站点文件夹
<Directory "/Users/User/Sites">
Options Indexes FollowSymLinks SymLinksifOwnerMatch MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
现在看起来是这样的
<Directory "/Users/User/Sites">
Options Indexes FollowSymLinks SymLinksifOwnerMatch
AllowOverride All
Order allow,deny
Allow from all
</Directory>
一旦我这样做了,/index.php页面就不能再通过键入/index来加载了。因此,我可以使用最初在.htaccess文件中使用的代码。一切都在天堂里解决了
如果有帮助,请告诉我。你能给出一个你将要使用的URL的例子吗?blabla.local/imovel/47/plant/executive_lunai/->this dint workbla.local/blerg/47/plant/executive_lunai/->这个工作你能给出一个你将要使用的URL的例子吗使用?blabla.local/imovel/47/partment/executive_lunai/->此力工作blabla.local/blerg/47/partment/executive_lunai/->此功能有效