Удалите «.php» из URL - ничего не работает

Ubuntu 14.04LTS 32bit

ЛАМПА

Я знаю, что это старый вопрос, но ..

Мне нужно, чтобы он удалил .php, где бы он ни находился, из видимой ссылки. Он должен работать с /showthread.php?id=XX ---> / showthread? Id = XX

Я даже не могу заставить его работать с /page.php -> /page. Я пробовал это:

https://stackoverflow.com/questions/4026021/remove-php-extension-with-htaccess

https: //stackoverflow.com/questions/1992183/how-to-hide-the-html-extension-with-apache-mod-rewrite

https://stackoverflow.com/questions / 15917258 / remove-php-from-urls-with-htaccess

https://stackoverflow.com/questions/13832468/how-to-stop-htaccess-loop/13832827# 13832827

Это просто ничего не делает вообще. В то время как другой код .htaccess работает нормально ..

Хотя

<?php 
phpinfo();

Списки mod_rewrite в загруженных модулях

И

<?php
 if(!function_exists('apache_get_modules') ){ phpinfo(); exit; }
 $res = 'Module Unavailable';
 if(in_array('mod_rewrite',apache_get_modules())) 
 $res = 'Module Available';
?>
<html>
<head>
<body>
<p><?php echo apache_get_version(),"</p><p>mod_rewrite $res"; ?></p>
</body>
</html>

Возвращает Module Available

Пробовал еще много вещей

# Apache Rewrite Rules
 <IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteBase /

# Add trailing slash to url
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
  RewriteRule ^(.*)$ $1/ [R=301,L]

# Remove .php-extension from url
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME}\.php -f
  RewriteRule ^([^\.]+)/$ $1.php 

# End of Apache Rewrite Rules
 </IfModule>

#

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]

#

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php

Даже это не имеет никакого эффекта:

RewriteRule ^page$ page.php [L]

sudo service apache2 restart не изменяется что-нибудь.

Перезагрузка сервера ничего не меняет.

Я пытался очистить другой код внутри, но не внес никаких изменений.

Я очистил кеш браузера 100 раз

Я начинаю думать, что он просто ненавидит меня. Что может быть причиной этого?

0
задан 23 May 2017 в 15:39

3 ответа

Используйте это в качестве своего .htaccess файла:

<IfModule mod_rewrite.c>   
Options +FollowSymLinks -MultiViews    
# Turn mod_rewrite on    
RewriteEngine On    
RewriteBase /    
RewriteCond %{REQUEST_FILENAME} !-f    
RewriteCond %{REQUEST_FILENAME} !-d    
RewriteRule ^(.*)$ index.php?$1 [L,QSA]    
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]    
RewriteRule ^ %1 [R=301,L]    
</IfModule>

В случае, если Вы еще хотите любое имя файла, можно заменить index.php именем файла и расширением.

, Если Ваш каталог все еще показывает index.php файл, включите модуль, переписывают в Вашем хосте.

0
ответ дан 24 May 2017 в 01:39

Удостоверьтесь, что Вашему определенному сайту позволяют признать что:

$sudo vi /etc/apache2/sites-available/000-default.conf

<Directory "/var/www/html">
     AllowOverride All 
</Directory>

$sudo service apache2 restart
1
ответ дан 24 May 2017 в 01:39
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

выезд это , Как Удалить php, Расширение HTML от URL с помощью htaccess

0
ответ дан 24 May 2017 в 01:39

Другие вопросы по тегам:

Похожие вопросы: