我有一个RewriteRule
在.htaccess
未采取任何文件.我该如何解决这个问题?
.htaccess
Apache是否正在读取和遵守该文件?我可以写一个回音"它正在工作"的消息,如果我写它,那条线会被回显出去吗?.htaccess
没有使用该文件,我该如何让Apache使用它?.htaccess
正在使用但我RewriteRule
仍然没有效果,我还可以做多少调试?我正在网上测试一个网站.
现在,错误没有显示(但我知道它们存在).
我只能访问该.htaccess
文件.
如何使用我的.htaccess
文件显示所有错误
编辑
我将这些行添加到我的.htaccess
:
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
Run Code Online (Sandbox Code Playgroud)
和页面现在显示
内部服务器错误
我有以下.htaccess文件:
RewriteEngine On
RewriteBase /
# Protect the htaccess file
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
# Protect log.txt
<Files ./inscription/log.txt>
Order Allow,Deny
Deny from all
</Files>
# Disable directory browsing
Options All -Indexes
Run Code Online (Sandbox Code Playgroud)
我试图禁止访问者访问以下文件:
domain.com/inscription/log.txt
Run Code Online (Sandbox Code Playgroud)
但我上面的内容不起作用:我仍然可以远程访问浏览器中的文件.
这将domain.com
改为www.domain.com
:
# Force the "www."
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
如何替换"域"部分以使其适用于任何域?
如何.html
从静态页面的URL中删除?
此外,我需要将任何网址重定向到没有网址的网址.html
.(即www.example.com/page.html
到www.example.com/page
).
目前我正在使用lightspeed服务器托管.托管说mod_rewrite
已启用但我无法让我的脚本在那里工作.每当我尝试访问该URL时,它都会返回404 - 未找到的页面.
我将相同的代码放在另一台运行Apache的服务器上.它正在那里工作.所以我想,这是.htaccess
和mod_rewrite
问题.
但Hosting支持仍然坚持要求他们的mod_rewrite已启用,所以我想知道如何检查它是否实际启用.
我试着检查phpinfo()
,但没有运气,我找不到mod_rewrite
,是因为他们正在使用lightspeed
?
有没有办法检查?请帮帮我.谢谢.
仅供参考:我的.htaccess
代码是
Options -Indexes
<IfModule mod_rewrite.c>
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我也尝试过这样
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
但结果相同.
我需要改变我的.htaccess
,有两行我不明白.
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
Run Code Online (Sandbox Code Playgroud)
什么时候应该使用这些线?
我已将.htaccess文件推送到生产服务器,但它们不起作用.重启是下一步,还是应该检查其他内容.
我有密码保护我的整个网站使用,.htaccess
但我想公开其中一个子目录,以便无需密码即可查看.
如何禁用子目录的htaccess密码保护?具体是什么.htaccess
语法.
这是我的.htaccess
文件放在我的ftp的根目录中.
AuthName "Site Administratrion" AuthUserFile /dir/.htpasswd AuthGroupFile /dev/null AuthName secure AuthType Basic require user username1 order allow,deny allow from all
是的,我已阅读Apache手册并在此搜索.出于某种原因,我根本无法让这个工作.我最接近的是删除扩展名,但它指向根目录.我希望这只是在包含该.htaccess
文件的目录中工作.
我需要对.htaccess
文件做三件事.
我需要它来删除.php
一个.我有几个页面使用选项卡,URL看起来像page.php #tab - 这可能吗?
湾 我有一个页面使用附加到URL的会话ID,以确保您来自正确的地方,www.domain.com/download-software.php?abcdefg
.
这可能吗?另外,在执行此操作时,是否需要从头文件导航包含文件中的链接中删除".php"?应该IE "<a href="support.php">support</a>" be <a href="support">support</a>?
domain.com
,但是www.domain.com/page
.我会继续寻找,尝试等等.会在子目录中导致任何问题吗?
.htaccess ×10
mod-rewrite ×4
apache ×2
php ×2
html ×1
lightspeed ×1
restart ×1
subdirectory ×1