所有
我正在尝试通过htaccess重定向脚本重定向匹配。
以下是我的htaccess脚本。
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^post/(.*)/$ post.php?tag=$1 [L]
RewriteRule ^search/(.*)$ search.php?tag=$1 [L]
问题:索引和搜索页面正在重定向。帖子页面未被重定向。
请帮忙解决问题
答案 0 :(得分:1)
在根目录中尝试此操作.htaccess:
Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^post/(.+)$ post.php?tag=$1 [L,NC,QSA]
RewriteRule ^search/(.+)$ search.php?tag=$1 [L,NC,QSA]
答案 1 :(得分:0)
/etc/apache2/sites-available/default
文件,则需要执行此操作。寻找这段代码:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>
将AllowOverride None
更改为AllowOverride All
。在您更改后,您需要重新启动Apache才能进行更改(service apache2 restart
)。
<强>买者强>
您希望通过htaccess文件执行的大多数操作都可以通过Apache配置文件更安全地完成(因此默认情况下会忽略htaccess文件)。有关详细信息,请参阅this post。