用.htaccess文件中的RewriteRule重写MVC样式应用程序的URL时,URL越来越长出现问题。 在那里,您可以找到一个(不是)有效的示例:https://rossi.klingt.org/new/
我已经尝试过在question
中找到的几种重写规则我正在跑步:
Linux 4.19.0-5-amd64#1 SMP Debian 4.19.37-5(2019-06-19)x86_64
PHP版本7.2.9-1
无法获得确切的Apache版本
此刻我在/ new /文件夹中的.htaccess文件中使用的代码是:
<IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
Header set X-XSS-Protection "1; mode=block"
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /new
RewriteCond %{REQUEST_URI} (^|/)\.htaccess$ [NC,OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (^.*) index.php [L]
</IfModule>
如果单击链接,它将被添加到URL的末尾。我希望它的行为有所不同。我在一个很旧的系统上做了类似的事情,它只保留了最后一个文件夹,没有将它们加起来。
我想念什么?任何帮助,将不胜感激!谢谢大家!
答案 0 :(得分:0)
好的,我只是发现出了什么问题。
我在错误的位置寻找解决方案。 通过在我的部分中添加标签,浏览器现在知道如何处理链接的相对路径,并且不会将新链接粘贴到URL的右端!
我当前的.htaccess代码如下
Options -MultiViews
Options -Indexes
<IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
Header set X-XSS-Protection "1; mode=block"
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /new
RewriteCond %{REQUEST_URI} (^|/)\.htaccess$ [NC,OR]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L,NC,QSA]
</IfModule>